home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 20
/
020.d81
/
space gorn
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
8KB
|
278 lines
1 rem
2 rem
3 remspacegorn
4 rem
5 remby
6 rem
7 remanthonychiang
8 rem
9 rem
10 print"[147] [211] [208] [193] [195] [197]"
20 print" [199] [207] [210] [206]"
22 print" [204][207][193][196][211][212][193][210] is not public domain."
24 print" [208]lease respect the author's rights."
30 rem fork=1to3000:next
40 print""spc(10)"by [193]nthony [195]hiang"
50 printtab(7);"[195]hiang [205][201][206][201]-[193][196][214][197][206][212][213][210][197] #1"
60 fork=1to3100:next:printchr$(14)
70 gosub7000
99 rm=1:rb=1:n=16:v=14:dg=2:sw$="sna"
100 dimgq(9,6),noun$(30),verb$(30),message$(20),ob$(20),ob(20),fg(20)
105 fork=1to11:readob$(k),ob(k):nextk
110 fork=1to9:fork1=1to6:readgq(k,k1):nextk1:nextk
120 fork=1tov:readverb$(k):next:fork=1ton:readnoun$(k):next
130 fork=1to20:readme$(k):fg(k)=1:next:fork=1to6:readdi$(k):nextk
136 print"[208]ress [210][197][212][213][210][206] to start ";
137 getkk$
138 ifkk$<>chr$(13)then137
140 rem
150 remmainsubroutine
160 rem
170 forpower=45to0step-1
180 gosub3000:remcommands
190 nextpo:goto4420
200 rem
210 remroomsubroutine
220 rem
225 print"[147]"
230 onrmgosub300,400,500,600,700,800,900,1000,1100
240 rb=0:goto2000
300 print"[217]ou're inside the ship's dock":return
400 print"[217]ou're in the main hallway":return
500 print"[217]ou're in the navagation room":return
600 print"[217]ou're in the captain's bedroom":return
700 print"[217]ou're in the bathroom":return
800 print"[217]ou're in a empty storage room":return
900 print"[217]ou're in the communications room":return
1000 print"[217]ou're in the end of the main hallway":return
1100 print"[217]ou're in the computer room":return
2000 rem
2010 remexits&objects
2020 rem
2030 print:print"[207]bvious [197]xits:"
2040 fork=1to6:ifgq(rm,k)<>0thenprintdi$(k);" ";
2043 nextk:print
2045 fork=1to11:ifob(k)=rmthen2050
2049 nextk:goto2080
2050 print:print"[214]isible [201]tems:"
2060 fork=1to11:print"";
2062 ifob(2)=rmandk=2thenprintob$(2);" on the wall":goto2070
2064 ifob(k)=rmthenprintob$(k)
2070 nextk:print
2080 return
2100 data "fresh batteries",3,"picture of [215]illiam [211]hatner",4,"combination safe"
2105 data 0,disintegration gun,0
2110 data lazer key,5,safe's combination,0,locked door,8,open door,0,open safe
2115 data 0,"[194]ig [213]gly [211]pace [199]orn",9,telecomputer,7
2120 data2,0,0,0,0,0
2130 data8,1,4,6,3,0
2140 data0,0,0,0,0,2
2150 data0,5,0,2,0,0
2155 data4,0,0,0,0,0
2160 data7,0,2,0,0,0
2170 data0,6,8,0,0,0
2180 data0,2,0,7,0,0
2190 data0,8,0,0,0,0
2200 data get,tak,goz,wal,mov,use,unl,ope,fir,sho,kil,rea,dro,thr
2210 data bat,pic,saf,gun,key,com,doo,nor,sou,eas,wes,upz,dow,tel,gor,inv
2220 data "[201] don't see it here"
2230 data "[201] can't do that"
2240 data "[201]t's locked"
2250 data "[201]t's open"
2260 data "[212]here's something behind it"
2270 data "[201]'ve no batteries"
2280 data "[201] can't go in that direction"
2290 data "[217]ou use word(s) [201] don't know"
2300 data "[201] don't understand your command"
2310 data "[208]lease use two words"
2320 data "[212]he ship's power is running low"
2330 data "[212]here's nothing here to open"
2340 data "[212]he gun disintegrates in yourhand!"
2350 data "[206]othing happens"
2360 data "[217]ou're already carrying it"
2370 data "[201]'m not carrying it"
2380 data "[201] have no immediate use for that"
2390 data "[193]re you crazy!?"
2400 data "[212]here's something inside"
2410 data "[212]he batteries are now in the gun"
2420 data "[206]orth","[211]outh","[197]ast","[215]est","[213]p","[196]own"
3000 rem
3010 rem commands
3020 rem
3030 if rb = 1 then gosub 225
3037 if power < 10 and po / 3 = int (po / 3) then print :printme$(11)
3040 print:print"[212]ell me what to do:";:input"";a$:ifa$="quit"thengosub 60000
3042 ifa$="quit"then3000
3050 ifleft$(a$,1)=" "thena$=right$(a$,len(a$)-1):goto3050
3051 iflen(a$)>1then3060
3052 ifmid$(a$,1,1)="s"thenkn=9:goto3600
3053 ifmid$(a$,1,1)="e"thenkn=10:goto3600
3054 ifmid$(a$,1,1)="w"thenkn=11:goto3600
3055 ifmid$(a$,1,1)="u"thenkn=12:goto3600
3056 ifmid$(a$,1,1)="d"thenkn=13:goto3600
3057 ifmid$(a$,1,1)="n"thenkn=8:goto3600
3058 ifmid$(a$,1,1)="i"then3507
3059 goto3090
3060 ifleft$(a$,4)="look"thenrb=1:goto3030
3061 ifmid$(a$,1,3)="inv"ora$="inventory"then3507
3067 ifsw$+left$(a$,2)<>"snafu"then3069
3068 ifmid$(a$,3,1)=chr$(67)andmid$(a$,4,1)=chr$(75)then3770
3069 iflen(a$)<5then3090
3070 fork=1tolen(a$):ifmid$(a$,k,1)=" "then3100
3080 next
3090 print:printme$(10):goto3040
3100 v$=left$(a$,k-1):n$=right$(a$,len(a$)-k)
3112 ifv$="go"thenv$=v$+"z"
3117 ifn$="up"thenn$=n$+"z"
3120 iflen(n$)<3orlen(v$)<3then3090
3125 v$=left$(v$,3):n$=left$(n$,3)
3130 rem
3140 remcheckingverbs
3150 rem
3155 ifv$="att"orv$="fig"thenv$="kil"
3160 forkv=1tov
3170 ifv$=verb$(kv)then3200
3180 nextkv:goto3590
3190 rem
3200 remcheckingnouns
3210 rem
3213 ifn$="laz"thenn$="key"
3215 ifn$="spa"thenn$="gor"
3220 forkn=1ton
3230 ifn$=noun$(kn)then3250
3240 nextkn:goto3590
3250 onkvgoto3500,3500,3600,3600,3600,3700,3800,3800,3900,3900,4000,4050,4100
3260 ifkv=14then4100
3500 remgetandtake
3505 ifkn<>16then3520
3507 print"[147][217]ou are carrying:":print
3510 fork=1to10:ifob(k)=-1thenprintob$(k)
3511 next:goto3000
3520 ifkn<14andkn>7then4300
3525 ifkn=3orkn=14orkn=7thenprintme$(2):goto4500
3530 ifob(kn)=-1thenprintme$(15):goto4500
3535 ifob(kn)<>rmthenprintme$(1):goto4500
3540 ifnot(kn=2andfg(1)=1andrm=4)then3543
3541 printme$(5):ob(2)=-1:ob(3)=4:fg(1)=0:fork=1to2000:next:goto4500
3543 iffg(2)<>1then3555
3544 ifnot(kn=4andob(1)=-1orkn=1andob(4)=-1)then3555
3545 ob(1)=0:print:printme$(20):fg(2)=0:ob(4)=-1:goto4500
3555 ifkn=15then4000
3560 ob(kn)=-1:print:print"[207]k!":goto4500
3590 print:printme$(8):goto3040
3600 remmovegoandwalk
3605 ifrm=8andkn=7thenkn=8
3610 ifkn<8orkn>13then4300
3620 x=kn-7
3630 ifgq(rm,x)=0thenprintme$(7):goto4500
3640 rm=gq(rm,x)
3650 rb=1:goto4500
3700 remuse
3710 ifkn=14andrm=7then4050
3720 ifkn<4orkn>6then4300
3740 ifkn=4then3900
3750 ifkn=5thenkn=7:goto3800
3760 ifkn=6then4050
3770 print:print"[201] am not that kind of gorn!":po=po-5:goto4500
3800 remunlockandopen
3803 ifkn=2andob(2)=-1andob(6)=0thenob(6)=rm:fg(5)=0:goto8000
3804 ifkn=2andob(2)<>-1thenprintme$(16):goto4500
3805 ifkn<>7andkn<>3andkn<>2then3830
3808 ifkn=2andfg(5)=0then3850
3810 ifnot(kn=7andrm=8andob(5)=-1)then3815
3811 gq(8,1)=9:ob(7)=0:ob(8)=8:print:printme$(4):goto4500
3815 ifnot(kn=3andrm=4andfg(3)=0)then3820
3816 print:printme$(4):print:printme$(19):ob(3)=0:ob(4)=4:ob(9)=4:goto4500
3820 ifnot(kn=7andrm<>8orkn=3andrm<>4)then3825
3821 print:print"[212]here's nothing here to open":goto4500
3825 print:printme$(3):goto4500
3830 ifkn=14thenprint:print"[206]othing here but us silicon chips":goto4500
3840 ifkn>7orkn=1orkn=5orkn=3then4300
3850 print:print"[212]here's nothing important inside":goto4500
3900 remfireandshoot
3910 ifkn<>4andkn<>15then4300
3920 ifob(4)<>-1thenprint:printme$(16):goto4500
3930 iffg(2)=1thenprint:printme$(6):goto4500
3940 print:printme$(13):ob(4)=0:goto4500
4000 remkill
4005 ifkn<>15then4300
4010 ifrm<>9thenprint:print"[212]he gorn's not here":goto4500
4015 printme$(18);:inputqa$
4018 ifleft$(qa$,1)="y"then4030
4020 ifleft$(qa$,1)="n"then3000
4025 print"[193]nswer the question: ";:goto4015
4030 print:print"[212]oo bad. [212]he space gorn's favorite food is looney under glass."
4031 print"[217]ou have just been made lunch."
4032 print"[195]homp! [195]homp!":goto4490
4050 remread
4055 ifkn=6andob(6)=-1thenfg(3)=0:print:print"it's 45-21-47 ":goto4500
4060 ifkn=6thenprint:printme$(16):goto4500
4065 ifkn<>14thenprint:print"[217]ou don't need to read that":goto3000
4070 ifrm<>7thenprint:printme$(1):goto4500
4072 dd=int(rnd(1)*2):ifdd=1then4080
4075 print:print"[201]t says:";:print" [212]he combination is inside [146]"
4076 printtab(9);" [212]he picture of [215]illiam [146]"
4077 printtab(9);" [211]hatner [146]":goto4500
4080 print:print"[201]t says: [196]isintegration only way [146]"
4081 printtab(9);" to kill space gorn [146]":goto4500
4100 remdropthrow
4110 ifkn>6orkn=3then4300
4120 ifob(kn)<>